$(document).ready(function () {
  /* 
   * 预加载功能
   */
  let preload = new createjs.LoadQueue(true); //新建loading对象
  preload.installPlugin(createjs.Sound); //加载音乐插件
  //加载图片、音乐
  preload.loadManifest([
    '../images/ad.jpg',
    '../images/arrow.png',
    '../images/bg.jpg',
    '../images/btn.png',
    '../images/close.png',
    '../images/default_avatar.jpg',
    '../images/error.png',
    '../images/fail.png',
    '../images/item.png',
    '../images/msg.png',
    '../images/msg_box.png',
    '../images/page.png',
    '../images/start.png',
    '../images/subject.png',
    '../images/success.png',
    '../images/title.png',
    '../images/truth.png',
    {
      id: 'bgm',
      src: './static/bgm.mp3'
    }
  ]);

  //加载过程执行
  preload.on('progress', function () {
    $('.loading-progress').html(`${preload.progress * 100 | 0} %`);
  });

  //加载完成执行
  preload.on('complete', function () {
    console.log('加载完成!');
    $('.loading').hide();
    $('.home').show();
  });

  // bgm处理
  let musicFlag = true;
  let audio = document.getElementById('audio');
  $('.soundBtn').click(function () {
    musicFlag = !musicFlag;
    if (musicFlag) {
      audio.play();
      $(this).addClass('play');
    } else {
      audio.pause();
      $(this).removeClass('play');
    }
  });

  let curIndex = 1; // 当前题目序号
  // 开始答题
  $('.start').click(function () {
    $('.home').hide();
    $('.ques').show();
    $('.t1').show();
    $('.t1').each(function () {
      opts(this);
    });
  });

  // 跳转小程序
  $('.ques-ad img').click(function () {
    console.log('跳转小程序');
    wx.navigateToMiniProgram({
      appId: 'wx44591de56bbc9bb1',//小程序appid
      path: 'page/index/index',//跳转关联小程序app.json配置里面的地址
      // extraData: {//需要传递给目标小程序的数据，目标小程序可在 App.onLaunch()，App.onShow() 中获取到这份数据。
      //   foo: 'bar'
      // },
      //**重点**要打开的小程序版本，有效值 develop（开发版），trial（体验版），release（正式版） 
      envVersion: 'release',
      success(res) {
        // 打开成功
      }
    });
  });

  // 答题项点击
  let totalAnswer = null;   // 记录剩余正确答案，判断答题是否完成
  let optClickCount = 0;    // 记录点击次数（是否第一次点击选项）
  $('.option').on('click', function () {
    // 为了筛选剩余答案
    optClickCount++;
    if (optClickCount <= 1) {
      totalAnswer = $(this).parent().attr('ans').split(' ');
    }
    let curAnswer = $(this).children('.sort').html().slice(0, 1);
    $(this).find('.judge').show();
    // 判断当前选项是否正确
    if ($(this).hasClass('error')) {
      setTimeout(() => {
        $(this).siblings('.analyze').show();
      }, 800);
    } else {
      // 答对处理
      let arr = answerRemoveItem(curAnswer);
      if (arr && arr.length == 0) {
        setTimeout(() => {
          $(this).siblings('.analyze').show();
        }, 800);
      };
    }
  });

  // 题目之间跳转
  let nextWait = 800;
  let nextTick = 0;
  $('.ana-next').click(function () {
    nextTick++;  // 阻止重复点击
    if (nextTick > 1) return console.log(222);
    totalAnswer = [];
    optClickCount = 0;
    if (curIndex == 10) {
      $('.t10').hide();
      $('.ques').hide();
      $('.result').show();
    } else {
      curIndex++;
      setTimeout(() => {
        $(`.t${curIndex - 1}`).hide();
        $(`.t${curIndex}`).show();
        $(`.t${curIndex}`).each(function () {
          opts(this);
        });
      }, nextWait);
    }
    // 关闭解析
    setTimeout(() => {
      nextTick = 0;
      $(this).parent().css({ display: 'none' });
      $('.option .judge').each(function () {
        $(this).css({ display: 'none' });
      })
    }, 1000);
  });

  //新题目出现之后的各个选项挨个出现效果
  function opts(obj) {
    let optionNum = $(obj).children('.option').length;
    setTimeout(function () {
      $(obj).find('.ques-tit').addClass('popbounce');
    }, 300);
    for (let i = 1; i <= optionNum; i++) {
      setTimeout(function () {
        $(obj).find(`.opt${i}`).addClass('popbounce');
      }, 300 * i + 300);
    }
  }

  // 数组去除元素
  function answerRemoveItem(del) {
    if (totalAnswer instanceof Array) {
      let index = totalAnswer.indexOf(del);
      if (index > -1) {
        totalAnswer.splice(index, 1);
        console.log(totalAnswer);
        return totalAnswer;
      }
    }
  }

  // 重新测试
  $('.reset').click(function() {
    $('.result').hide();
    $('.home').show();
    curIndex = 1;
  });
});